Linux multi-core scalability
نویسنده
چکیده
Since CPUs hit the power-wall earlier this decade single threaded CPU performance has been increasing at a much lower pace than it historically used to in earlier decades1. The recent trend in hardware is to go multi-core and multi-threaded for more performance instead. Multi-core means that the CPU package has more than one CPU core inside and acts like multiple CPUs. Multi threaded CPUs are using multiple virtual CPUs inside each CPU core to use execution resources more efficiently. Also larger systems have always used multiple CPU packages for better performance. Exploiting the performance potential of these multiple CPUs 2 requires software improvements to run parallel. Traditionally only larger super computers and servers needed major software scalability work, because they have been using many CPU sockets, while cheaper systems only had a low number of CPUs (one or perhaps two) so that major scalability work was not needed. But since individual CPUs are getting more and more cores and threads this is changing and even relatively low end systems require extensive scalability work now. The following table has some current example systems, showing these trends.
منابع مشابه
Scalability of parallel workloads: the effects of granularity and scheduling in video processing
This paper discusses parallel scalability of software running on multi-core processors. We have used the behavior of a video codec as the workload, because we see modern multimedia-oriented hand-held devices as the main application domain for our work. Parallel scalability is important for the speed of processing. Further, it reflects the ability to utilize parallel hardware in an energy-effici...
متن کاملAdaptive Space-Shared Scheduling for Shared-Memory Parallel Programs
Space-sharing is regarded as the proper resource management scheme for many-core OSes. For today’s many-core chips and parallel programming models providing no explicit resource requirements, an important research problem is to provide a proper resource allocation to the running applications while considering not only the architectural features but also the characteristics of the parallel appli...
متن کاملMulti-View 3D Geometry Reconstruction: Exploiting Massive Parallelism
3D geometric reconstruction from digital images captured from consumer cameras is an inexpensive, but computationally demanding application. In this experimental study, we have explored parallelism in the best known public domain software (Bundler and PMVS2) and found that massive parallelism exists at various levels that can be exploited on various computer architectures (such as multi-cores, ...
متن کاملDynamic Processors Demand Dynamic Operating Systems
The rise of multicore processors has lead to techniques that dynamically vary the set and characteristics of cores or threads available to the operating system. For example, Core Fusion merges multiple cores for faster processing. While the mechanics of the change, such as merging two cores into a more powerful core, can be handled by a virtualization layer, operating systems still have an inte...
متن کاملVerification of the Tree-Based Hierarchical Read-Copy Update in the Linux Kernel
Read-Copy Update (RCU) is a scalable, high-performance Linux-kernel synchronization mechanism that runs lowoverhead readers concurrently with updaters. Productionquality RCU implementations for multi-core systems are decidedly non-trivial. Giving the ubiquity of Linux, a rare “million-year” bug can occur several times per day across the installed base. Stringent validation of RCU’s complex beha...
متن کامل